AWS ChatbotをSlackと連携させて、SlackからAWS CLIを使ってみた
こんにちは、ゲームソリューション部のsoraです。
今回は、AWS ChatbotをSlackと連携させて、SlackからAWS CLIを使ってみたことについて書いていきます。
クライアントの設定
Chatbotにて新しいクライアントを設定します。
今回はクライアントとしてSlackを選択します。
Chatbotでアクセス可能なSlackの情報は以下です。
認証するとSlack側でappとしてAWSが追加されます。
チャネルの設定
クライアントが設定できたため、チャネルを設定していきます。
アクセス許可にてロールとガードレールポリシーを設定します。
チャネルIAMロールの場合は、Slackチャンネルに存在するメンバー全員に同じ権限を付与します。
ユーザロールの場合は、Slackチャンネルに存在するメンバーそれぞれに権限を付与できます。
Channelガードレールを設定することにより、上記のロールで権限付与されていても、ガードレールで許可されていない操作はできないようにすることができます。
SlackからAWS CLIの実行
SlackからAWS CLIを実行します。
利用できるコマンドには以下制限があります。
読み取りのみに制限されているわけではなく、リソースの作成などもできます。
試しにVPCの作成をやってみます。
以下実行してみると、コマンドを実行するか、オプションパラメータを追加するか、実行しないかを聞かれます。
@aws ec2 create-vpc --cidr-block 10.100.0.0/16 --region ap-northeast-1
実行してみると、コマンドが実行されてAWS上でもVPCが作成されていることが確認できました。
ガードレールポリシーで許可されていない場合は、以下のようにエラーが出ます。
他には存在しないコマンドを実行した場合、近しい正しいコマンドを提示してくれました。
最後に
今回は、AWS ChatbotをSlackと連携させて、SlackからAWS CLIを使ってみたことを記事にしました。
どなたかの参考になると幸いです。